package com.dw.wms.basedata.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * 商品档案表
 * @TableName wms_goods
 */
@TableName(value ="wms_goods")
@Data
public class Goods {
    /**
     * 商品ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 商品编码
     */
    private String goodsCode;

    /**
     * 商品名称
     */
    private String goodsName;

    /**
     * SPU ID
     */
    private Long spuId;

    /**
     * 商品简称
     */
    private String goodsShortName;

    /**
     * 商品分类ID
     */
    private Long categoryId;

    /**
     * 品牌
     */
    private String brand;

    /**
     * 型号
     */
    private String model;

    /**
     * 规格
     */
    private String specification;

    /**
     * SKU属性（JSON格式）
     */
    private String skuAttributes;

    /**
     * 基本计量单位ID
     */
    private Long baseUnitId;

    /**
     * 重量（公斤）
     */
    private BigDecimal weight;

    /**
     * 体积（立方米）
     */
    private BigDecimal volume;

    /**
     * 长度（厘米）
     */
    private BigDecimal length;

    /**
     * 宽度（厘米）
     */
    private BigDecimal width;

    /**
     * 高度（厘米）
     */
    private BigDecimal height;

    /**
     * 存储类型：1-常温，2-冷藏，3-冷冻，4-恒温恒湿
     */
    private Integer storageType;

    /**
     * 最低存储温度（℃）
     */
    private BigDecimal temperatureMin;

    /**
     * 最高存储温度（℃）
     */
    private BigDecimal temperatureMax;

    /**
     * 最低存储湿度（%）
     */
    private BigDecimal humidityMin;

    /**
     * 最高存储湿度（%）
     */
    private BigDecimal humidityMax;

    /**
     * 保质期（天）
     */
    private Integer shelfLife;

    /**
     * ABC分类：A-重要，B-一般，C-普通
     */
    private String abcCategory;

    /**
     * 是否批次管理：1-是，0-否
     */
    private Integer isBatchManaged;

    /**
     * 是否序列号管理：1-是，0-否
     */
    private Integer isSerialManaged;

    /**
     * 是否保质期管理：1-是，0-否
     */
    private Integer isExpiryManaged;

    /**
     * 是否危险品：1-是，0-否
     */
    private Integer dangerousGoods;

    /**
     * 是否贵重物品：1-是，0-否
     */
    private Integer preciousGoods;

    /**
     * 是否易碎品：1-是，0-否
     */
    private Integer fragileGoods;

    /**
     * 状态：0-启用，1-禁用
     */
    private String status;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新人
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private Date updateTime;
}